﻿using University.Workshop.Business;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using University.Workshop.Model;

namespace University.Workshop.Tests
{
    
    
    /// <summary>
    ///Se trata de una clase de prueba para ConsultationManagerTest y se pretende que
    ///contenga todas las pruebas unitarias ConsultationManagerTest.
    ///</summary>
    [TestClass()]
    public class ConsultationManagerTest
    {


        private TestContext testContextInstance;

        /// <summary>
        ///Obtiene o establece el contexto de la prueba que proporciona
        ///la información y funcionalidad para la ejecución de pruebas actual.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Atributos de prueba adicionales
        // 
        //Puede utilizar los siguientes atributos adicionales mientras escribe sus pruebas:
        //
        //Use ClassInitialize para ejecutar código antes de ejecutar la primera prueba en la clase 
        //[ClassInitialize()]
        //public static void MyClassInitialize(TestContext testContext)
        //{
        //}
        //
        //Use ClassCleanup para ejecutar código después de haber ejecutado todas las pruebas en una clase
        //[ClassCleanup()]
        //public static void MyClassCleanup()
        //{
        //}
        //
        //Use TestInitialize para ejecutar código antes de ejecutar cada prueba
        //[TestInitialize()]
        //public void MyTestInitialize()
        //{
        //}
        //
        //Use TestCleanup para ejecutar código después de que se hayan ejecutado todas las pruebas
        //[TestCleanup()]
        //public void MyTestCleanup()
        //{
        //}
        //
        #endregion


        /// <summary>
        ///Una prueba de RegisterNewConsultation
        ///</summary>
        [TestMethod()]
        public void RegisterNewConsultationTest()
        {
            string patientId = string.Empty; // TODO: Inicializar en un valor adecuado
            string doctorId = string.Empty; // TODO: Inicializar en un valor adecuado
            int appointmentId = 0; // TODO: Inicializar en un valor adecuado
            string familyHistory = string.Empty; // TODO: Inicializar en un valor adecuado
            string familyHistoryDetails = string.Empty; // TODO: Inicializar en un valor adecuado
            string pastMedicalHistory = string.Empty; // TODO: Inicializar en un valor adecuado
            string pastMedicalHistoryDetails = string.Empty; // TODO: Inicializar en un valor adecuado
            string personalHistory = string.Empty; // TODO: Inicializar en un valor adecuado
            string personalHistoryDetails = string.Empty; // TODO: Inicializar en un valor adecuado
            string heartRate = string.Empty; // TODO: Inicializar en un valor adecuado
            string bloodPressure = string.Empty; // TODO: Inicializar en un valor adecuado
            string respirationRate = string.Empty; // TODO: Inicializar en un valor adecuado
            string temperature = string.Empty; // TODO: Inicializar en un valor adecuado
            string currentWeight = string.Empty; // TODO: Inicializar en un valor adecuado
            string height = string.Empty; // TODO: Inicializar en un valor adecuado
            string idealWeight = string.Empty; // TODO: Inicializar en un valor adecuado
            string chiefComplaints = string.Empty; // TODO: Inicializar en un valor adecuado
            string generalSymptoms = string.Empty; // TODO: Inicializar en un valor adecuado
            string currentCondition = string.Empty; // TODO: Inicializar en un valor adecuado
            string currentConditionDetails = string.Empty; // TODO: Inicializar en un valor adecuado
            string previousDiagnoses = string.Empty; // TODO: Inicializar en un valor adecuado
            string previouslyEmployedTherapeutic = string.Empty; // TODO: Inicializar en un valor adecuado
            string digestiveApparatus = string.Empty; // TODO: Inicializar en un valor adecuado
            string cardiovascularApparatus = string.Empty; // TODO: Inicializar en un valor adecuado
            string respiratoryApparatus = string.Empty; // TODO: Inicializar en un valor adecuado
            string urinaryApparatus = string.Empty; // TODO: Inicializar en un valor adecuado
            string genitalApparatus = string.Empty; // TODO: Inicializar en un valor adecuado
            string hematologicApparatus = string.Empty; // TODO: Inicializar en un valor adecuado
            string endocrineSystem = string.Empty; // TODO: Inicializar en un valor adecuado
            string osteomuscularSystem = string.Empty; // TODO: Inicializar en un valor adecuado
            string nervousSystem = string.Empty; // TODO: Inicializar en un valor adecuado
            string sensorialSystem = string.Empty; // TODO: Inicializar en un valor adecuado
            string psicosomatic = string.Empty; // TODO: Inicializar en un valor adecuado
            string generalExamination = string.Empty; // TODO: Inicializar en un valor adecuado
            string examinationHead = string.Empty; // TODO: Inicializar en un valor adecuado
            string examinationNeck = string.Empty; // TODO: Inicializar en un valor adecuado
            string examinationChest = string.Empty; // TODO: Inicializar en un valor adecuado
            string examinationAbdomen = string.Empty; // TODO: Inicializar en un valor adecuado
            string examinationMembers = string.Empty; // TODO: Inicializar en un valor adecuado
            string examinationGenitals = string.Empty; // TODO: Inicializar en un valor adecuado
            string comments = string.Empty; // TODO: Inicializar en un valor adecuado
            string diagnosis = string.Empty; // TODO: Inicializar en un valor adecuado
            string prognosis = string.Empty; // TODO: Inicializar en un valor adecuado
            string treatment = string.Empty; // TODO: Inicializar en un valor adecuado
            Consultation expected = null; // TODO: Inicializar en un valor adecuado
            Consultation actual;
            actual = ConsultationManager.RegisterNewConsultation(patientId, doctorId, appointmentId, familyHistory, familyHistoryDetails, pastMedicalHistory, pastMedicalHistoryDetails, personalHistory, personalHistoryDetails, heartRate, bloodPressure, respirationRate, temperature, currentWeight, height, idealWeight, chiefComplaints, generalSymptoms, currentCondition, currentConditionDetails, previousDiagnoses, previouslyEmployedTherapeutic, digestiveApparatus, cardiovascularApparatus, respiratoryApparatus, urinaryApparatus, genitalApparatus, hematologicApparatus, endocrineSystem, osteomuscularSystem, nervousSystem, sensorialSystem, psicosomatic, generalExamination, examinationHead, examinationNeck, examinationChest, examinationAbdomen, examinationMembers, examinationGenitals, comments, diagnosis, prognosis, treatment);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("Compruebe la exactitud de este método de prueba.");
        }
    }
}
